| DATA TYPE | DECLARATION | CALL |
| NULL | ByVal As Long | Zero or variable containing zero. |
| ByVal As Any | 0& or Long variable containing zero. |
| As Any | ByVal 0& or ByVal with a Long variable containing zero. |
| String | ByVal As String | String buffer preinitialized to the necessary buffer length. |
| ByVal As Any | String buffer preinitialized to the necessary buffer length. |
| As Any | String buffer preinitialized to the necessary buffer length preceded by ByVal operator. |
| As Byte | First byte in a byte array to load with an ANSI string. String will need to be converted to Unicode before assigning to VB string. |
| ByVal As Long | Address of first byte in a byte array to load with an ANSI string obtained using the VarPtr operator. String will need to be converted to Unicode before assigning to VB string. |
| Long | As Long | Long variable to load with the data. |
| ByVal As Long | Address of Long variable obtained using the VarPtr operator. |
| As Any | Long variable to load with the data.
|
| Binary | As Byte | First byte in a byte array to load with binary data. |
| As Any | First byte in a byte array to load with binary data. |
| ByVal As Long | Address of first byte in a byte array to load with binary data obtained using the VarPtr operator. |
| Table S14-1: How to Handle Different Data Types |